package jp.co.hcs.attendancemanagement.data.dao;

import java.sql.SQLException;
import java.util.List;
import jp.co.hcs.attendancemanagement.data.entity.EffortActual;
import jp.co.hcs.attendancemanagement.data.entity.ex.EffortActualExample;
import jp.co.hcs.attendancemanagement.data.entity.ex.EffortActualParameter;
import jp.co.hcs.attendancemanagement.inputdailyattendance.logic.dto.ProjectInfoDTO;
import jp.co.hcs.attendancemanagement.inputtableb.logic.dto.ProjectEffortInfoDTO;

public interface EffortActualDAO extends BaseDAO{
    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int countEffortActualByExample(EffortActualExample example) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int deleteEffortActualByExample(EffortActualExample example) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int deleteEffortActualByPrimaryKey(Short seqNo, String employeeId, String actualEffortDay, String actualEffortYearMonth) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    void insertEffortActual(EffortActual record) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    void insertEffortActualSelective(EffortActual record) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    List<EffortActual> selectEffortActualByExample(EffortActualExample example) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    EffortActual selectEffortActualByPrimaryKey(Short seqNo, String employeeId, String actualEffortDay, String actualEffortYearMonth) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int updateEffortActualByExampleSelective(EffortActual record, EffortActualExample example) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int updateEffortActualByExample(EffortActual record, EffortActualExample example) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int updateEffortActualByPrimaryKeySelective(EffortActual record) throws SQLException;

    /**
     * This method was generated by Apache iBATIS ibator.
     * This method corresponds to the database table tb5_nkousu_jisseki
     *
     * @ibatorgenerated Wed Mar 07 23:25:45 GMT+07:00 2012
     */
    int updateEffortActualByPrimaryKey(EffortActual record) throws SQLException;
    
    List<ProjectEffortInfoDTO> getListProjectEffortInfoDTO(EffortActualParameter effortActualParameter) throws SQLException;
    
    List<ProjectEffortInfoDTO> getListProjectEffortInfoDTOWithActualEffortDate(EffortActualParameter effortActualParameter) throws SQLException;
    
    int deleteEffortActualInMonth(String employeeId, String workingId, String actualEffortYearMonth, String projectCode) throws SQLException;
    
    List<ProjectInfoDTO> getProjectInfoDTOList(EffortActualParameter effortActualParameter) throws SQLException;
    
    int getMaxSEQNumber(EffortActualParameter effortActualParameter) throws SQLException;
    
    int deleteEffortActualInDay(String employeeId, String actualEffortDay, String actualEffortYearMonth) throws SQLException;
}